Grid-Based Road Model with Multiple Layers

ABSTRACT

This document describes techniques, apparatuses, and systems for a grid-based road model with multiple layers. An example road-perception system generates a roadway grid representation that includes multiple cells. The road-perception system uses data from multiple information sources to generate a road model that includes multiple layers. Each layer represents a roadway attribute of each cell in the grid and includes one or more layer hypotheses. In this way, the described techniques and systems can provide an accurate and reliable road model and quantify uncertainty therein.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No.17/183,254, filed Feb. 23, 2021, the disclosure of which is incorporatedby reference herein in its entirety.

BACKGROUND

To control a vehicle, road-perception systems can provide vehicle-basedsystems with information about road conditions, road geometry, and lanegeometry. A variety of vehicle-based systems that rely on theseroad-perception systems exist, including as examples, Automatic CruiseControl (ACC), Traffic-Jam Assist (TJA), Lane-Centering Assist (LCA),and L3/L4 Autonomous Driving on Highways (L3/L4). Some safetyregulations require such vehicle-based systems, including L3/L4 systems,to generate road models that can conceptualize or model multipleattributes of a roadway. In addition, some safety standards require roadmodels to quantify an uncertainty associated with the road model.Existing road-perception systems generally do not provide informationabout multiple roadway attributes, if any. These road-perception systemsalso tend to rely on parametric methods (e.g., representing laneboundaries and lane centers as polylines) that are often inaccurate,which makes them unreliable for use in road modeling; furthermore, theiruncertainty cannot be quantified. In addition, even if sensor data isobtained from multiple different sensors, some road-perception systemsstill cannot accurately fuse the sensor data to build the road model,especially if the sensor data from two sensors conflicts.

SUMMARY

This document describes techniques, apparatuses, and systems for agrid-based road model with multiple layers. For example, this documentdescribes a road-perception system configured to generate, for aroadway, a grid representation that includes multiple cells. Theroad-perception system uses data from multiple information sources togenerate a road model for the roadway. There are multiple layersunderlying the road model. Each layer represents a roadway attribute ofeach cell in the grid. The road model also includes layer hypothesesthat indicate a potential attribute state for the cells in each layer.

The road-perception system then determines mass values associated withthe layer hypotheses. The mass values indicate confidence associatedwith the data contributing to the respective layer hypotheses. Theroad-perception system uses the mass values to determine beliefparameters and plausibility parameters associated with the layerhypotheses. The belief parameter indicates confidence in the potentialattribute state for that cell, and the plausibility parameter indicatesa likelihood in the potential attribute state being accurate for thatcell. The road-perception system determines whether the beliefparameters and the plausibility parameters associated with the layerhypotheses satisfy a respective threshold value. Depending on whetherthe belief parameters and plausibility parameters of at least one layerhypothesis satisfies the respective threshold value, anautonomous-driving system or an assisted-driving system can either useor not use the at least one layer hypothesis as an input to operate thevehicle on the roadway.

This document also describes other operations of the above-summarizedsystems, techniques, and apparatuses and other methods set forth herein,as well as means for performing these methods.

This Summary introduces simplified concepts for a grid-based road modelwith multiple layers, which are further described below in the DetailedDescription and Drawings. This Summary is not intended to identifyessential features of the claimed subject matter, nor is it intended foruse in determining the scope of the claimed subject matter.

BRIEF DESCRIPTION OF THE DRAWINGS

The details of one or more aspects of a grid-based road model withmultiple layers are described in this document with reference to thefollowing figures. The same numbers are used throughout the drawings toreference like features and components:

FIG. 1 illustrates an example environment in which a road-perceptionsystem generates a grid-based road model with multiple layers;

FIG. 2 illustrates an example configuration of a road-perception systemthat generates a grid-based road model with multiple layers;

FIG. 3 illustrates an example architecture of a road-perception systemto generate a grid-based road model with multiple layers;

FIG. 4 illustrates an example static grid generated by a grid-based roadmodel with multiple layers and from which a road-perception system candetermine lane-boundary cells;

FIGS. 5A and 5B illustrate example lane sets that an input processingmodule of a grid-based road model with multiple layers can use to shiftinput evidence for determining mass values for other layer hypotheses;

FIG. 6 illustrates an example lane set that an input processing moduleof a grid-based road model with multiple layers can use to determinemass values for lane-number assignments; and

FIG. 7 illustrates a flowchart as an example process performed by aroad-perception system configured to generate a grid-based road modelwith multiple layers.

DETAILED DESCRIPTION Overview

Road-perception systems can be an important technology forassisted-driving and autonomous-driving systems. Some vehicle-basedsystems (e.g., L3/L4 systems) and some safety standards (e.g., Safety ofthe Intended Functionality (SOTIF) of a system (ISO/PAS 21448:2019 “Roadvehicles—Safety of the intended functionality”)) may require aroad-perception system not only to model a roadway but also to quantifyuncertainty in the model and maintain one or more hypotheses.

Road models may be necessary for many features of vehicle-based systems,including ACC, LCA, and L3/L4 systems. For example, road modeling iscritical for these systems to understand the roadway environment, toplan driving trajectories, and to control the vehicle. Someroad-perception systems define a roadway as any street, avenue, road orroadway, expressway, highway, driveway, ramp, alley, parking lot,garage, trail, or other path that can be traversed by the vehicle. Thesesystems generally define the roadway as a set of parametric lanes (e.g.,represented by a set of polyline boundaries). As a result, the curvatureof the roadway is often not considered. These systems also generallyprovide an incomplete road model with only a single layer or frame ofdiscernment (FOD) and cannot fuse data from different sources.

In contrast, this document describes road-perception techniques toaccurately model the roadway and elements thereof as a grid of cells.This grid approach allows the described road-perception techniques toavoid inaccurate lane assumptions associated with parametricrepresentations of lane boundaries. Roadway elements are represented asone or more layer hypothesis for each cell. The describedroad-perception techniques fuse information regarding the roadway frommultiple sources (e.g., camera systems, Lidar systems, maps, radarsystems, ultrasonics) to develop a static grid with multiple layers. Themultiple layers represent different roadway attributes (e.g., cellcategory, lane-marker type, lane-marker color, lane-number assignment,pavement-marking type, road-sign type). The road-perception techniquescan also extract mass values from the information sources to estimatebelief and plausibility parameters associated with each layerhypothesis. In this way, the described road-perception techniques canprovide critical information about the roadway environment and the modeluncertainty to provide safe path planning and maneuver control forvehicle-based systems.

This section describes just one example of how the described techniquesand systems can generate a grid-based road model with multiple layers.This document describes other examples and implementations.

Operating Environment

FIG. 1 illustrates an example environment 100 in which a road-perceptionsystem 108 generates a grid-based road model with multiple layers. Inthe depicted environment 100, the road-perception system 108 is mountedto, or integrated within, a vehicle 102. The vehicle 102 can travel on aroadway 120, which includes lanes 122 (e.g., a first lane 122-1 and asecond lane 122-2). In this implementation, the vehicle 102 is travelingin the first lane 122-1.

Although illustrated as a car, the vehicle 102 can represent othermotorized vehicles (e.g., a motorcycle, a bus, a tractor, a semi-trailertruck, or construction equipment). In general, manufacturers can mountthe road-perception system 108 to any moving platform that can travel onthe roadway 120.

In the depicted implementation, a portion of the road-perception system108 is mounted into a rear-view mirror of the vehicle 102 to have afield-of-view of the roadway 120. The road-perception system 108 canproject the field-of-view from any exterior surface of the vehicle 102.For example, vehicle manufacturers can integrate at least a part of theroad-perception system 108 into a side mirror, bumper, roof, or anyother interior or exterior location where the field-of-view includes theroadway 120. In general, vehicle manufacturers can design the locationof the road-perception system 108 to provide a particular field-of-viewthat sufficiently encompasses the roadway 120 on which the vehicle 102may be traveling.

The vehicle 102 includes one or more sensors 104 to provide input datato one or more processors (not illustrated in FIG. 1 ) of theroad-perception system 108. The sensors 104 can include a camera, aradar system, a global positioning system (GPS), a global navigationsatellite system (GNSS), a lidar system, or any combination thereof. Acamera can take still images or video of the roadway 120. The radarsystem or a lidar system can use electromagnetic signals to detectobjects in the roadway 120 or features of the roadway 120. A GPS or GNSScan determine the position or heading of the vehicle 102. The vehicle102 can include additional sensors to provide input data to theroad-perception system 108 regarding the roadway 120 and the lanes 122.The road-perception system 108 can also obtain input data from externalsources (e.g., nearby vehicles, nearby infrastructure, the internet)using vehicle-to-everything (V2X) or cellular communication technology.

The vehicle 102 also includes a map 106. The map 106 can include ahigh-definition map or database providing information about the roadway120 and the lanes 122. The map 106 can be stored in a memory of theroad-perception system 108 or memory of the vehicle 102, a map retrievedfrom a map or navigation service in communication with theroad-perception system 108, or a map obtained from a mobile phone orother device communicatively coupled to the road-perception system 108.

The road-perception system 108 can use a fused-grid module 110 and alayer module 112 to represent the roadway 120 as a grid-based roadmodel. The road-perception system 108 represents attributes and elementsof the roadway 120 in terms of cells. In this way, the road-perceptionsystem 108 can provide a non-parametric representation of the roadway120 without adopting assumptions about lane shapes. The road-perceptionsystem 108 uses multiple frames of discernment (FOD) to define anddescribe the possible states or hypotheses for a specific attribute ofthe roadway 120. The FODs can include at least two of the following:cell category, lane number, lane-marker type, lane-marker color, trafficsignage, pavement marking, and lane type. The road-perception system 108can define additional FODs as required by vehicle-based systems 114.

The fused-grid module 110 can use mass extraction formulas to extractmass values from input data from the sensors 104 and the map 106. Themass values indicate confidence associated with the data. The fused-gridmodule 110 can then fuse data from various sources (e.g., the sensors104, the map 106) to identify layer hypotheses for each cell. A layerhypothesis identifies the probable values of each FOD for each cell. Therespective mass values can determine the uncertainty associated with thelayer hypotheses.

The layer module 112 can determine, using respective mass values, beliefparameters, and plausibility parameters associated with each layerhypothesis. The belief parameter represents the evidence supporting ahypothesis (e.g., the sum of mass values of the subset of thehypothesis) and provides a lower bound. The belief parameter of a layerhypothesis indicates the confidence of the road-perception system 108 ina potential attribute state for that cell. The plausibility parameterrepresents one minus the evidence not supporting the hypothesis (e.g.,one minus the sum of mass values of the sets whose intersection with thehypothesis is empty) and is an upper bound. The plausibility parameterindicates a likelihood in the potential attribute state being accuratefor that cell. The value of the belief parameter and the plausibilityparameter can be different for each cell of a layer hypothesis. Thisdocument describes the components and operations of the road-perceptionsystem 108, including the fused-grid module 110 and the layer module112, in greater detail with respect to FIGS. 2 and 3 .

The vehicle 102 also includes one or more vehicle-based systems 114 thatcan use data and the grid-based road model from the road-perceptionsystem 108 to operate the vehicle 102 on the roadway 120. Thevehicle-based systems 114 can include an assisted-driving system 116 andan autonomous-driving system 118 (e.g., an Automatic Cruise Control(ACC) system, Traffic-Jam Assist (TJA) system, Lane-Centering Assist(LCA) system, and L3/L4 Autonomous Driving on Highways (L3/L4) system).Generally, the vehicle-based systems 114 can use the grid-based roadmodel provided by the road-perception system 108 to operate the vehicleand perform particular driving functions. For example, theassisted-driving system 116 can provide automatic cruise control andmonitor for the presence of an object (as detected by another system onthe vehicle 102) in the first lane 122-1, in which the vehicle 102 istraveling. In this example, the road-perception data from theroad-perception system 108 identifies the lanes 122. As another example,the assisted-driving system 116 can provide alerts when the vehicle 102crosses a lane marker for the first lane 122-1.

The autonomous-driving system 118 may move the vehicle 102 to aparticular location on the roadway 120 while avoiding collisions withobjects detected by other systems (e.g., a radar system, a lidar system)on the vehicle 102. The road-perception data provided by theroad-perception system 108 can provide information about the location ofthe lanes 122 and uncertainty in the location of the lanes 122 to enablethe autonomous-driving system 118 to perform a lane change or steer thevehicle 102.

FIG. 2 illustrates an example configuration of the road-perceptionsystem 108 that generates the grid-based road model with multiplelayers. The road-perception system 108 can include one or moreprocessors 202 and computer-readable storage media (CRM) 204.

The processor 202 can include, as non-limiting examples, asystem-on-chip (SoC), an application processor (AP), a centralprocessing unit (CPU), or a graphics processing unit (GPU). Theprocessor 202 may be a single-core processor or a multiple-coreprocessor implemented with a homogenous or heterogenous core structure.The processor 202 may include a hardware-based processor implemented ashardware-based logic, circuitry, processing cores, or the like. In someaspects, functionalities of the processor 202 and other components ofthe road-perception system 108 are provided via an integratedprocessing, communication, and control system (e.g., SoC), enablingvarious operations of the vehicle 102. The processor 202 can generateroad-perception data for the vehicle-based systems 114 based on thegrid-based road model of the road-perception system 108.

The CRM 204 described herein excludes propagating signals. The CRM 204may include any suitable memory or storage device such as random-accessmemory (RAM), static RAM (SRAM), dynamic RAM (DRAM), non-volatile RAM(NVRAM), read-only memory (ROM), or Flash memory useable to store devicedata (e.g., the maps 106) of the road-perception system 108.

The processor 202 executes computer-executable instructions storedwithin the CRM 204. As an example, the processor 202 can execute thefused-grid module 110 to generate a grid-based road model of the roadway120. The fused-grid module 110 can generate the grid-based road modelusing data from the map 106 stored in the CRM 204 or obtained from thesensors 104.

The fused-grid module 110 includes an input processing module 206 and anevidence fusion module 208. The processor 202 can execute the inputprocessing module 206 to extract mass values associated with differentinput data. For example, the input processing module 206 can use massextraction formulas to determine a respective mass value associated withdata from different sources (e.g., the sensors 104, the map 106). Themass values indicate the confidence associated with the datacontributing to layer hypotheses of the grid-based road model. The inputprocessing module 206 can also validate the input data.

The processor 202 can execute the evidence fusion module 208 to updatemass values associated with the input data recursively. For example, theevidence fusion module 208 can compare data from one or more previoustime instants with data from a current time instant to update a massvalue associated with the input data.

The layer module 112 can include an output processing module 210. Theoutput processing module 210 can estimate belief parameters andplausibility parameters associated with the one or more layer hypothesesof each cell. The processor 202 can also execute the output processingmodule 210 to validate the belief parameters and the plausibilityparameters.

The layer module 112 can also group, based on the Dempster-ShaferTheory, the layer hypotheses into one or more roadway hypotheses. TheDempster-Shafer Theory provides a framework for reasoning about a set oflayer hypotheses subject to uncertainty. The Dempster-Shafer Theory is ageneralization of Bayesian probability theory that accounts for lack ofevidence or ignorance when estimating the likelihood of a layerhypothesis being true. The generation of the layer hypotheses androadway hypotheses is described in greater detail with respect to FIGS.3 through 6 .

The road-perception system 108 can also include communication components212, which include a sensor interface 214 and a vehicle-based systeminterface 216. The sensor interface 214 and the vehicle-based systeminterface 216 can transmit data over a communication bus of the vehicle102, for example, when the individual components of the road-perceptionsystem 108 are integrated within the vehicle 102 they may communicateover a wired or wireless vehicle bus, for example, a controller basedautomotive network (CAN).

The processor 202 can also receive, via the sensor interface 214,measurement data from the one or more sensors 104 as input to theroad-perception system 108. As an example, the processor 202 can receiveimage data or video data from a camera system via the sensor interface214. Similarly, the processor 202 can send, via the sensor interface214, configuration data or requests to the one or more sensors 104.

The vehicle-based system interface 216 can transmit road-perceptiondata, including the grid-based road model, to the vehicle-based systems114 or another component of the vehicle 102. In general, theroad-perception data provided by the vehicle-based system interface 216is in a format usable by the vehicle-based systems 114. In someimplementations, the vehicle-based system interface 216 can sendinformation to the road-perception system 108, including, as anon-limiting example, the speed or heading of the vehicle 102. Theroad-perception system 108 can use this information to configure itselfappropriately. For example, the road-perception system 108 can adjust,via the sensor interface 214, a frame rate or scanning speed of one ormore sensors 104 based on the speed of the vehicle 102 to maintainperformance of the road-perception system 108 under varying drivingconditions.

Operations of the fused-grid module 110, the layer module 112, and theirrespective subcomponents are described in greater detail with respect toFIGS. 3 through 7 .

FIG. 3 illustrates an example architecture 300 of the road-perceptionsystem 108 to generate a grid-based road model 322 with multiple layers.The architecture 300 illustrates example components and functions of thefused-grid module 110, the input processing module 206, the evidencefusion module 208, the output processing module 210, and the layermodule 112 of FIG. 2 . In other implementations, the road-perceptionsystem 108 include additional or fewer components and functions thanthose shown in FIG. 3 .

The architecture 300 illustrates example information sources that areinput to the fused-grid module 110. The input sources can include a grid302, lidar data 304, vision data 306, vehicle-state data 308, and themap 106. Other inputs can include radar data, ultrasonic data, data fromonline sources, and data received via V2X communications. The grid 302provides a grid representation of the roadway 120 and can be a staticoccupancy grid and/or a dynamic grid. The grid 302 can include the gridsize, the grid resolution, and cell-center coordinates. Each cell of thegrid 302 can also indicate the velocity of the vehicle 102. The lidardata 304 provides information about objects on the roadway 120 androadway features. The vision data 306 can include still images or videoof the roadway 120 and provide information about lane boundaries,objects on the roadway 120, and other roadway features. Thevehicle-state data 308 can provide information about the velocity,location, and heading of the vehicle 102. The vehicle-state data 308 canbe provided by, for example, a steering sensor, a yaw-rate sensor, aheading sensor, or a location sensor. The map 106 can provideinformation about the features of the roadway 120 and the lanes 122. Theroad-perception system 108 can include additional (e.g., radar data) orfewer inputs to the fused-grid module 110.

The output of the layer module 112 is the grid-based road model 322. Thegrid-based road model 322 includes multiple layer hypotheses 324 foreach layer or frame of discernment defined by the road-perception system108. The grid-based road model 322 also includes cell values 326 thatindicate the respective belief parameters, plausibility parameters, andprobabilities associated with the layer hypotheses 324.

A frame of discernment (FOD) is defined as a set of cell values within alayer of the grid-based road model 322 that describes possible states orhypotheses of a specific problem. In general, the elements in the FODlayers are mutually exclusive and exhaustive. For example, a lane-numberFOD and a lane-marker-type FOD address different problems. From acomputation perspective, the number of layer hypotheses 324 that need tobe evaluated for each FOD increases exponentially with the number ofelements therein. As a result, the described road-perception system 108defines multiple FOD layers within the grid-based road model 322 tominimize the computational expense for any given layer.

The layer module 112 can generate multiple layer hypotheses 324 formultiple FOD layers. For example, the grid-based road model 322 caninclude seven FODs, including a cell-category layer, lane-number layer,lane-marker-type layer, lane-marker-color layer, traffic-sign layer,pavement-marking layer, and lane-type layer. The layer module 112 candefine additional or fewer FOD layers depending on the needs of thevehicle-based systems 114, the driving environment, or any otherfactors.

The cell-category layer describes the possible categories of a cellwithin the grid-based road model 322. The cell-category layer, Ω_(C),can be defined in Equation (1) as:

Ω_(C) ={L _(b) ,L _(c) ,B _(a) ,O}  (1)

where L_(b) indicates a lane boundary, L_(c) indicates a lane center,B_(a) indicates a barrier, and O indicates an “other” value.

The lane-number layer describes the possible lane-number assignment of acell. The lane-number layer, Ω_(LA), can be defined in Equation (2) as:

Ω_(LA)={−1,0,1,2}  (2)

where −1 represents the left-adjacent lane, 0 represents the currentlane (e.g., ego lane) in which the vehicle 102 is traveling, 1represents the right-adjacent lane, and 2 represents other lanes.

The lane-marker-type layer describes the possible lane-marker typeassociated with lane-boundary cells. The lane-marker-type layer, Ω_(MT),can be defined in Equation (3) as:

Ω_(MT) ={M _(solid) , M _(double) ,M _(dash) ,M _(WF) , M _(O)}  (3)

where M_(solid) indicates a solid-line lane marker, M_(double) indicatesa double-line lane marker, M_(dash) indicates a dashed lane marker(e.g., skip lines), M_(WF) indicates a fat white lane-marker, and M_(O)indicates other type of lane marker. Additional lane-marker types can bedefined for other regions and countries.

The lane-marker-color layer describes the possible lane-marker colorassociated with lane-boundary cells. The lane-marker-color layer,Ω_(MC), can be defined in Equation (4) as:

Ω_(MC) ={C _(Y) ,C _(W) ,C _(O)}  (4)

where C_(Y) indicates a yellow color for the lane marker, C_(W)indicates a white color, and C_(O) indicates another color. Additionallane-marker colors can be defined for other regions and countries (e.g.,a blue color for South Korea).

The traffic-sign layer describes the possible type of traffic signassociated with a cell. The traffic-sign layer, Ω_(TS), can be definedin Equation (5) as:

Ω_(TS) ={TS ₁ TS ₂ , . . . ,TS _(n) ,NTS}  (5)

where n is the number of possible traffic signs and NTS denotesnon-traffic signs. If the roadway 120 is a highway, the possible trafficsigns can include temporary traffic control signs, regulatory signs,guide signs, motorist services, and recreation signs.

The pavement-marking layer describes the possible type of pavementmarking associated with a cell. The pavement-marking layer, Ω_(PM), canbe defined in Equation (6) as:

Ω_(PM) ={PM ¹ ,PM ₂ , . . . , PM _(m) ,NPM}  (6)

where m is the number of possible pavement markings and NPM denotesnon-pavement markings. The possible pavement markings can includefreeway entrances, exit markings, work-zone pavement markings, and HOVlane markings.

The lane-type layer describes the possible lane type associated with alane-number assignment. The lane-type layer, Ω_(LT), can be defined inEquation (6) as:

Ω_(LT) ={L _(t) ,L _(d) ,L _(a) ,L _(O)}  (7)

where L_(t) indicates a through lane, L_(d) indicates a decelerationlane, L_(a) indicates an acceleration lane, and L_(O) indicates otherlane types.

Example operations of the fused-grid module 110 and the layer module 112to generate the grid-based road model 322 from the input data are nowdescribed. At function 310, the input processing module 206 validatesthe input data, including the grid 302, the lidar data 304, the visiondata 306, the vehicle-state data 308, and the map 106. The inputprocessing module 206 can verify that an input use to model a boundaryprovides a plausible shape for the boundary. For example, on highways, aradius of curvature below 300 m is of low plausibility. The inputprocessing module 206 can also compare various inputs to each other toverify whether the inputs are consistent or include likely outliers. Forexample, sensor inputs where lanes cross each other are not plausible.As another example, on a type-one, limited-access highway, a stop signis implausible unless there is a construction zone.

At function 312, the input processing module 206 extracts mass valuesfor each type of input data. For example, the input processing module206 can extract the mass value, m_(Lidar) ^(t), for the current timeinstant, t. This document describes the extraction of mass values forlane-number assignments with respect to FIGS. 4 and 6 .

The vision data 306 can directly provide information for the lane-markertype layer. The input processing module 206 can determine the mass valuefor each type of lane marker based on the sensor confidence in makingthe classification. As a result, the mass value for each cell withcoordinates (x, y) is given by Equations (8) and (9):

m _(MT,Vision)(a,(x,y))=p _(MT)(a,(x,y))  (8)

m _(MC,Vision)(β,(x,y))=p _(MC)(β,(x,y))  (9)

where p indicates the classification confidence given by the sensor(e.g., a camera sensor), α∈Ω_(MT), and β∈Ω_(MC).

The input processing module 206 can also use the vision data 306 toextract mass values associated with each possible traffic sign, pavementmarking, and lane type. The vision data 306 can indicate the type oftraffic sign and pavement marking. Similarly, the vision data 306 candirectly or indirectly provide the lane type. The input processingmodule 206 can determine the mass value, m, for each possible trafficsign, pavement marking, and lane type based on the sensor confidence, p,in making the classification. As a result, the mass value for each cellcan be given by Equations (10) through (12):

m _(TS,Vision)(γ,(x,y))=p _(TS)(γ,(x,y))  (10)

m _(PM,Vision)(χ,(x,y))=p _(PM)(χ,(x,y))  (11)

m _(LT,Vision)(ζ,(x,y))=p _(LT)(ζ,(x,y))  (12)

where γ∈Ω_(TS), χ∈Ω_(PM), and ζ∈Ω_(LT).

In some implementations, the input processing module 206 can simplifythe grid-based road model 322 and only extract mass values for the twolargest probabilities in the vision data 306 for the traffic-sign layerand the pavement-marking layer. In these implementations, theprobabilities with other cell categories are extracted to the “other”category. As a result, the input processing module 206 can extract massvalues for three categories (or any other number of categories) for thetraffic-sign and pavement-marking layers.

As described above, the input from the grid 302 includes grid size, gridresolution, and cell center coordinates. Each cell of the grid 302indicates the mass value for each layer hypothesis 324 formed for theFOD layers. To distinguish from the FOD layers of the grid-based roadmodel 322, the FOD layer for the grid 302 can be defined in Equation(13) as:

Θ={F,SO,DO}  (13)

where F indicates a free space, SO indicates a cell that is staticallyoccupied, and DO indicates a cell that is dynamically occupied. Eachcell of the grid 302 also indicates the velocity V, which the inputprocessing module 206 can use for mass value extraction.

To reduce complexity, the input processing module 206 can convert themass values provided by the grid 302 to probability values using apignistic transformation. The input processing module 206 then has thefollowing probability value for each cell available: p_(F)(⋅), whichindicates the probability of a cell to be a free space; p_(SO)(⋅), whichindicates the probability of a cell to be statically occupied; andp_(DO)(⋅), which indicates the probability of a cell to be dynamicallyoccupied.

The input processing module 206 can use the following rules to designmapping functions based on the grid 302 and the cell values therein. Acell with low velocity and high statically-occupied probability is morelikely to be a barrier. A cell with high velocity and highdynamically-occupied probability is more likely to be a lane center. Acell with high free-space probability is more likely to be a laneboundary if the nearby cell (e.g., 0.5W_(L), where W_(L) represents thelane width) has a high velocity and high dynamically-occupiedprobability.

Consider that the input processing module 206 defines p_(l)(V) as afunction of the velocity and having a relatively small value if thevelocity is large. The input processing module 206 can also definep_(h)(V) as a function of the velocity and having a relatively smallvalue if the velocity is small. The function p_(l)(V) can be anydistribution with a peak at zero and a monotonic decay as a function ofthe velocity. For example, the input processing module 206 can selectthe function p_(l)(V; α,β) as a Gamma distribution with shape parameterα and scale parameter β. The input processing module 206 can select thefunction p_(h)(V) as a Gaussian distribution with a mean value at anaverage roadway velocity (e.g., 65 km/h) with a default standarddeviation (e.g., 8 km/h). The input processing module can tune theparameters of p_(l)(V) and p_(h)(V) based on specific scenarios. Fordifferent information sources, the input processing module 206 can usedifferent parameters for the decay function depending on how muchinformation should be retained during the mass value extraction andfusion.

Based on the mapping rules for the grid 302, the input processing module206 can extract the mass value for a barrier cell of the cell-categorylayer based on Equation (14):

m _(C,DG)(B _(a),(x,y))=p _(l)(V(x,y);α,β)×p _(SO)(x,y)  (14)

where x is the central coordinate of the evaluation cell, V(x, y)denotes the velocity of the evaluation cell, and a and are tuned basedon the performance of the data.

The input processing module 206 can extract the mass value for a lanecenter and a lane boundary using Equations (15) and (16), respectively:

m _(C,DG)(L _(c),(x,y)=p _(hd)(V(x,y);α,β)×p _(DO)(x,y)  (15)

m _(C,DG)(L _(b),(x,y)=max(p _(h)(V,{tilde over (x)} _(l) ,{tilde over(y)} _(l)),p _(h)(V,{tilde over (x)} _(r) ,{tilde over (y)} _(r)),×p_(F)(x,y)×p _(l)(V(x,y);α,β))  (16)

where max(a, b) denotes the maximum value of a and b, {tilde over(x)}_(l)=x+Δ cos x_(l)=x+Δ cos θ_(l), {tilde over ({tilde over(y)})}_(l)=y+Δ sin θ_(l), {tilde over (x)}_(r)=x+Δ cos θ_(r), {tildeover (y)}_(r)=y+Δ sin θ_(r), Δ is the total shifting distance, and θ_(l)and θ_(r) are the angle shifting to left and right, respectively.

Similar to processing of the vision data 306, the input processingmodule 206 assigns the mass value for other cell values based on thesummation, m_(C,DG) ^(sum)((x, y)), of the mass value for the barrierlayer hypothesis, m_(C,DG)(B_(a), (x, y)), the lane-center layerhypothesis, m_(C,DG)(L_(c), (x, y)), and the lane-boundary layerhypothesis, m_(C,DG)(L_(b), (x, y)). The input processing module 206 candetermine the mass value for cells designated as other using Equation(17):

m _(C,DG)(O,(x,y)=1−m _(C,DG) ^(sum)((x,y))  (17)

In general, the map 106 is validated before processing by the inputprocessing module 206. The confidence of the map accuracy is denoted asp_(MAP)(⋅) The map 106 can provide information that is input to each ofthe different FODs. The input processing module 206 can obtain the cellcategory m_(C,MAP)( ⋅) and lane assignment m_(LA,MAP)(⋅) using similarequations. For marker type m_(MT,MAP)(⋅), marker color m_(MC,MAP)(⋅),traffic sign m_(TS,MAP)(⋅), pavement markings m_(PM,MAP)(⋅) and lanetype m_(LT,MAP)(⋅), the input processing module 206 can assign the massvalue based on the confidence associated with the map 106.

The input from the vision data 306 or the lidar data 304 includespolylines, or other parametric or non-parametric models, indicating lanemarkers and edges of the roadway 120. The vision data 306 and the lidardata 304 can also indicate semantic information for the lanes 122. Theinput processing module 206 can use mapping functions to map the visiondata 306 or the lidar data 304 to the confidence of a cell to be aspecific category within the cell-category layer. One mapping functionprovides that the cells that have an intersection with a lane-markerpolyline (e.g., y=ϕ(x)) are more likely to be lane boundaries, L_(b).Another mapping function provides that the cell towards the vehicle 102with a distance 0.5W_(L) from solid lane-marker cells to the cellsintersected by the lane marker are more likely to be lane-center cells,L_(c). The input processing module 206 can assign W_(L) as the defaultlane width for a specific region (e.g., 3.66 meters in the UnitedStates) or based on the vision data 306. For a dashed lane marker, theinput processing module 206 can assign the cells both towards and awayfrom the vehicle 102 within a certain distance (e.g., 0.5W_(L)) as morelikely to be lane-center cells.

Based on these rules, the input processing module 206 can define thebelief-mass mapping function in Equation (18) as:

m _(C,Vision)(L _(b),(x,y))=p _(c)(( x,y ))×D((x,y);( x,y ),σ²)  (18)

where the standard deviation represents the half-width of the lanemarker (e.g., σ=0.075 m), (x, y) is the coordinate for a cell, andp_(c)((x, y)) is the confidence of the lane-marker point (x, y), whichis generally provided by the vision data 306.

If the lane marker is a solid lane marker on the right side withdistance Δ less than W_(L), the input processing module 206 can shiftthe measurement point left as evidence for the lane center as providedin Equation (19):

m _(C,Vision)(L _(c),(x,y))=p _(c)(( x,y ))×D((x,y);( x _(l) ,y_(l)),σ²)  (19)

where x=x+Δ cos θ_(l), y=y+Δ sin θ_(l), {tilde over (x)}_(l)=x+0.5W_(L)cos θ_(l), and {tilde over (y)}_(l)=y+0.5W_(L) sin θ_(l).

If the lane marker is a solid lane marker on the left side, then theinput processing module 206 can use Equation (20):

m _(C,Vision)(L _(c), (x,y))=p _(c)(( x,y ))×D((x,y);({tilde over (x)}_(r) ,{tilde over (y)} _(r)),σ²)  (20)

where x=x+Δ cos θ_(r), y=y+Δ sin θ_(r), {tilde over (x)}_(l)={tilde over(x)}+0.5W_(L) cos θ_(r), and {tilde over (y)}_(l)=y+0.5W_(L) sin θ_(r).

If there are two sets of lane markers available, then the inputprocessing module 206 can use Equation (21):

m _(C,Vision)(L _(c),(x,y))=p _(c)(( x,y ))×max(D((x,y);({tilde over(x)} _(r) ,{tilde over (y)} _(r)),σ²),D((x,y);({tilde over (x)} _(l),{tilde over (y)} _(l)),σ²))  (21)

The vision data 306 can also provide information for the edge andbarrier categories. By using the edge and barrier polyline, the inputprocessing module 206 can similarly obtain mass values for the barrierusing Equation (22):

m _(C,Vision)(B _(a),(x,y))=p _(c)(( x,y ))×D((x,y);( x,y ),σ²)  (22)

The input processing module 206 can denote the sum of the mass valuesfor the lane-center category, lane-boundary category, and barriercategory based on the vision data 306 as m_(C,Vision) ^(sum)((x,y)). Themass value for a cell to be another category state is represented byEquation (23):

m _(C,Vision)(O,(x,y))=1−m _(C,Vision) ^(sum)((x,y)  (23)

At function 314, the evidence fusion module 208 updates and fuses massvalues for each cell of each layer. The evidence fusion module 208 canuse the Dempster-Shafer fusion rule to fuse various data about a cell ofa layer. The data can include data from past measurements and data fromcurrent sensor measurements. For past measurements, previous mass valuesare propagated via a decay function that represents the decay in theinformation over time. If both types of information are available, theevidence fusion module 208 performs the fusion to update the massvalues.

The evidence fusion module 208 can also use the Dempster-Shafer fusionrule to fuse the information of various hypotheses. The evidence fusionmodule 208 can first use the Dempster-Shafer method to obtain, based onthe mass values for different sources, a fused mass value for a specifichypothesis. The evidence fusion module 208 can compute the mass valuesrecursively. In this way, the evidence fusion module 208 uses theprevious mass value of specific layer hypotheses and a decay function,using Equation (24):

m _(FT,FGRM) ^(t) ⁺ (x,H)=m _(FT,FGRM) ^(t) ⁻ (x,H)⊕(m _(FT,DG)^(t)(x,H)⊕(m _(FT,Lidar) ⁵(x,H)⊕(m _(FT,Vision) ^(t)(x,H)⊕m _(FT,MAP)^(t)(x,H))))  (24)

where subscript FT∈{C, LA, LT, TS, PM, MT, MC} denotes the fusion typeand H is the layer hypothesis corresponding to a different fusion type.

The evidence fusion module 208 can use Equations (25) through (27) toperform Dempster-Shafer fusion of two information sources and obtain ajoint mass value m_(1,2):

$\begin{matrix}{{m_{1,2}(\varnothing)} = 0} & (25)\end{matrix}$ $\begin{matrix}{{m_{1,2}(H)} = {{{m_{1}(H)} \oplus {m_{2}(H)}} = {\frac{1}{1 - K}{\sum_{{B\cap C} = {H \neq \varnothing}}{{m_{1}(B)}{m_{2}(C)}}}}}} & (26)\end{matrix}$

where

K=Σ _(B∩C≠ø) m ₁(B)m ₂(C)  (27)

and where the value (1−K) represents the normalization coefficient, Kdenotes the conflict between the evidence, m₁(⋅) and m₂(⋅) represent themass value corresponding to a specific hypothesis for the first evidenceand the second evidence, respectively, and B and C are the layerhypotheses determined by the FOD. If a single information source isavailable, the evidence fusion module 208 need not perform evidencefusion.

At function 316, the evidence fusion module 208 uses the fused massvalues to compute a probability for each cell of each layer.

At function 318, the output processing module 210 computes a beliefparameter and a plausibility parameter for each cell of each layer. Thebelief parameter bel(H) and the plausibility parameter pl(H) are givenby the Equations (28) and (29), respectively:

bel(H)=Σ_(B|B∈H) m(B)  (28)

pl(H)=Σ_(B|B∩H≠ø) m(B)  (29)

For a specific hypothesis, the probability is calculated via thepignistic transformation. At function 320, the output processing module210 validates the belief parameters, plausibility parameters, and theprobability. For example, the output processing module 210 can validatethat the lane width is within applicable standards (e.g., regionalpolicies) and is plausible. The output processing module 210 can alsovalidate that lanes do not cross each other, are of similar width, areconsistent with splitting or merging signs, and are concentric. Function320 can be similar to the validation checks performed at function 310.

The layer module 112 can output the layer hypotheses 324 as a structuredarray. Each structure within the array defines a respective FOD layer.The layer module 112 can provide a component in the structure in thefollowing manner:

struct fused grid-based road model_LAYER{    struct Grid_info    structLayer_Info    enumeration Layer_Type }

The layer module 112 can also provide the grid information and FOD layerinformation as a structure array. The layer module 112 can define, usinga unique_cell index for each cell of the grid 302, the Grid_Info as:

struct Grid_Info{    Int[ ] Cell_index    float[ ] Cell_resolution   float[ ] Cell_coordinate }

The Layer_Info generally depends on the Layer_Type, which is anenumerated type given by Equation (30):

Layer_Type∈{Standalone_Layer, Reduced_Layer, Shared_Layer}  (30)

For the Standalone_Layer, the layer module 112 can define the Layer_Infoas:

struct Standard_Layer_Info{    float[ ] belief_value    float[] plausibility_value    float[ ] probability_value }

For the Reduced_Layer, the layer module 112 can define the Layer_Infoas:

struct Standard_Layer_Info{    enumeration[ ] traffic_sign_type /pavement_marking_type    float[ ]    belief_value    float[]    plausibility_value    float[ ]    probability_value }

For the Shared_Layer, the layer module 112 can define the Layer_Info as:

struct Standard_Layer_Info{    float[ ]    lane_boundary    enumeration[] lane_marker_type    enumeration[ ] lane_marker_color }

For both the Standalone_Layer and Shared_Layer, the road-perceptionsystem 108 may assign cells with different resolutions. For example, theroad-perception system 108 can use a higher resolution for cells withlane-marker evidence and a lower resolution for other cells.

The layer module 112 can exclusively use the cell for theStandalone_Layer to represent the belief parameter, plausibilityparameter, and probability parameter for the cell to be a specific cellcategory. In contrast, the layer module 112 can use a structure toconcatenate the belief parameter, plausibility parameter, andprobability parameter for different road elements (e.g., L_(b),ϵ∈Ω_(MT), and ϵ∈Ω_(MC)) for the cell for a Shared_Layer. TheShared_Layer cells can be concatenated because lane markers areassociated with lane-boundary cells (as opposed to the shoulder or lanecenter) and lane-marker information and lane-boundary information areoften used together.

The layer module 112 can use a special case for ϵ∈Ω_(LT). It can beinefficient for the layer module 112 to represent the lane type for eachcell using the Standalone_Layer because the lane type is associated withthe lane-number assignment, which already exists, and the number of lanetypes is relatively small. As a result, the layer module 112 can definea dictionary associated with the lane assignment. An example of thedictionary defined by the layer module 112 is provided in Table 1, wherethe Key is formed by “lane-assignment number”+“lane type” and the Valueis the probability parameter value of the lane to be a specific lanetype.

TABLE 1 Key Value Key Value 1_L_(t) p(1, L_(t)) −1_L_(t) p(−1, L_(t))1_L_(d) p(2, L_(d)) −1_L_(d) p(−1, L_(d)) 1_L_(a) p(1, L_(a)) −1_L_(a)p(−1, L_(a)) 0_L_(t) p(0, L_(t))   2_L_(t) p(2, Lt) 0_L_(d) p(0, L_(d))  2_L_(d) p(2, L_(d)) 0_L_(a) p(0, L_(a))   2_L_(a) p(2, L_(a))

The layer representation for different outputs of the layer module 112for the grid-based road model 322 is summarized in Table 2.

Layer Category Element ϵ Data Format Standalone_Layer ϵ Ε {L_(c), B_(a),O} Three Layers Each layer uses ‘Standard_Layer_Info’ structReduced_Layer ϵ Ε Ω_(TS) Three Layers Each layer uses‘Standard_Layer_Info’ struct Reduced_Layer ϵ Ε Ω_(PM) Three Layers Eachlayer uses ‘Standard_Layer_Info’ struct Standalone_Layer ϵ Ε Ω_(LA),Ω_(LT) Four Layers with a Dictionary Each layer uses ‘Standard LayerInfo’ struct Shared_Layer ϵ Ε L_(b), Ω_(MT), Ω_(MC) Three Layers Eachlayer uses the ‘Lane_boundary_lane_marker’ struct

FIG. 4 illustrates an example static grid 400 generated by a grid-basedroad model with multiple layers and for which the road-perception system108 can determine lane-boundary cells 404. The road-perception system108 can use the static grid 400 to represent attributes of a roadway(e.g., the roadway 120) on which the vehicle 102 is traveling. Thestatic grid 400 can include or be inclusive of the grid 302 describedwith respect to FIG. 3 . The static grid 400 includes multiple cells402. In FIG. 4 , the cells 402 are represented as having uniformresolution. In other implementations, the cells 402 can have a higherresolution in areas of interest (e.g., lane boundaries, lane markers,lane centers).

The road-perception system 108 can extract mass values for the staticgrid 400. As previously discussed, the input processing module 206 candetermine the mass value for a lane boundary 404 using Equation (16).The road-perception system 108 can treat each cell 402 that isdetermined to likely include the lane boundary 404 as a grayscale image.

The input processing module 206 can apply a Canny Edge Detector, orother edge or object detector methods, on the grayscale image to extractedges of the lane boundary 404. The Canny Edge Detector generallyincludes the following operations: noise reduction, gradientcalculation, non-maximum suppression, double threshold analysis, andedge tracking by hysteresis. Because the Canny Edge Detection can besensitive to image noise, the input processing module 206 can performnoise reduction. The gradient calculation involves determining theintensity change (e.g., probability to be the lane boundary 404) indifferent directions. The input processing module 206 can applynon-maximum suppression to provide a thin edge to the lane boundary 404,resulting in the cell with a maximum value in edge directions beingkept. The input processing module 206 can use the double threshold toidentify different kinds of cells 402, in particular cells with a strongcontribution to the edge, cells with a weak contribution to the edge,and cells that are not relevant to the edge. Edge-detection tracking byhysteresis is used to identify real edges of the lane boundary 404 as anoutput.

The input processing module 206 can then perform a morphological closingoperation to fill small gaps between different cells for the laneboundary 404. The morphological closing operation can include a dilationoperation followed by an erosion operation.

By comparing the position (ν₀) of the vehicle 102 with edge informationfor the nearest row to the vehicle 102, the input processing module 206can define the cell corresponding to the left lane boundary of the leftadjacent lane C_(la,l)(0), the left lane boundary of the ego laneC_(e,l)/(0), the right lane boundary of the ego lane C_(e,r)(0), and theright lane boundary of the right adjacent lane C_(ra,r)(0). Inparticular, the input processing module 206 can define C_(e,l)(0) as thecell 402 with a maximum value for the edge in the range [ν₀−W_(L), v₀],where W_(L) represents the lane width. The input processing module 206can define C_(e,r)(0) as the cell 402 with a maximum value for the edgein the range [ν₀, ν₀+W_(L)]. The input processing module 206 can defineC_(la,l)(0) as the cell 402 with a maximum mass for the edge in therange [ν₀−2W_(L), ν₀−W_(L)]. The input processing module 206 can defineC_(ra,r)(0) as the cell 402 with a maximum mass for the edge in therange [ν₀+W_(L), ν₀+2W_(L)].

These four cells are defined as initial cells. The input processingmodule 206 can use these initial cells to initialize four lane-boundarycell lists: C_(e,l)={C_(e,l)(0)}, C_(e,r)={C_(e,r)(0)},C_(la,l)={C_(la,l)(0)}, and C_(ra,r)={C_(ra,r)(0)}. By following theedge line, the input processing module 206 can iteratively expand thecell lists of the lane boundary 404 by iteratively appending row by row,as illustrated in FIG. 4 . For each cell, the input processing module206 can use the center coordinate to represent the cell.

The input processing module 206 can then use the lane-boundary celllists as evidence to assign mass values to different cells 402. The leftego lane cell list Ce,l can be shifted to the right along a curvaturedirection of the lane boundary 404 with distance Δ=δ, 2δ, . . . , nδ,where Δ≤W_(L). For cells 402 that have a distance Δ to the cellC_(e,l)(i), the mass value is calculated by the input processing module206 using Equation (31):

m _(e,l)(0,(x,y))=p _(lb)(C _(e,l)(i))×D((x,y);( x _(e,l) ,y_(e,l))σ²)  (31)

where x=x _(e,l)+Δ cos θ_(r), y=y _(e,l)+Δsin θ_(r), (x _(e,l), y_(e,l)) is the coordinate of the cell C_(e,l)(i), and p_(lb)(⋅) is themass value of the cell 402 to be lane boundary 404.

The ambiguity of the ego lane to the left adjacent lane for cells withΔ≤0.5W_(L) is given by Equation (32):

m _(e,l)((−1,0),(x,y))=1−m _(e,l)(0,(x,y))  (32)

Similarly, the cell list of the left lane boundary of the ego laneC_(e,l) can also be shifted to the left with distance Δ≤W_(L). The inputprocessing module 206 can extract the mass value using Equation (33):

m _(e,l)(1,(x,y))=p _(lb)(C _(e,l)(i))×D((x,y);( x _(e,l) ,y_(e,l)),σ²)  (33)

where x=x _(e,l)+Δ cos θ_(l), y=y _(e,l)+Δ sin θ_(l), (x _(e,l), y_(e,l)) is the coordinate of the cell C_(e,i)(i), and p_(lb)(⋅) is themass value of the cell 402 to be lane boundary 404.

The ambiguity of the ego lane to the left adjacent lane for cells withΔ≤0.5W_(L) is given by Equation (34):

m _(e,l)((−1,0),(x,y)=1−m _(e,l)(−1,(x,y))  (34)

The cell list of the right lane boundary of the ego lane C_(e,r) can beshifted to the right with distance Δ=δ, 2δ, . . . , nδ. For cells 402that have a distance Δ to the cell C_(e,r)(i), the mass value iscalculated by the input processing module 206 using Equation (35):

m _(e,r)(0,y)=p _(lb)(C _(e,r)(i))×D((x,y);( x _(e,r) ,y_(e,r)),σ²)  (35)

where x=x _(e,r)+Δ cos θ_(l), y=y _(e,r)+Δ sin θ_(l), (x _(e,r), y_(e,r)) is the coordinate of the cell C_(e,r)(i), and p_(lb)(⋅) is themass value of the cell 402 to be lane boundary 404.

The ambiguity of the ego lane to the right adjacent lane for cells withΔ≤0.5W_(L) is given by Equation (36):

m _(e,r)((0,1),(x,y))=1−m _(e,r)(0,(x,y))  (36)

The cell list of the right ego lane C_(e,r) can be shifted to the rightwith distance Δ=δ, 2δ, . . . , nδ. For cells 402 that have a distance Δto the cell C_(e,r)(i), the mass value is calculated by the inputprocessing module 206 using Equation (37):

m _(e,r)(1,y)=p _(lb)(C _(e,r)(i))×D((x,y);( x _(e,r),y_(e,r)),σ²)  (37)

where x=x _(e,r)+Δ cos θ_(r), y=y _(e,r)+Δ sin θ_(r), (x _(e,r), y_(e,r)) is the coordinate of the cell C_(e,r)(i), and p_(lb)(⋅) is themass value of the cell 402 to be lane boundary 404.

The ambiguity of the ego lane to the right adjacent lane for cells withΔ≤0.5W_(L) is given by Equation (38):

m _(e,r)((0,1),(x,y))=1−m _(e,r)(1,(x,y))  (38)

Similar to the ego lane boundary cell lists, the input processing module206 can use the left adjacent lane boundary cell list C_(la,l) asevidence to assign mass values for the lane-number assignment −1 and 2.The right adjacent lane boundary cell C_(ra,r) can be used as evidenceto assign the mass value for lane-number assignments 1 and 2.

The cell list of the left adjacent lane boundary C_(la,l) can be shiftedto the right with distance Δ=δ, 2δ, . . . , nδ. For cells 402 that havea distance Δ to the cell C_(la,l)(i), the mass value is calculated bythe input processing module 206 using Equation (39):

m _(la,l)(−1,(x,y))=p _(lb)(C _(la,l)(i))×D((x,y);( x _(la,l) ,y_(la,l)),σ²)  (39)

where x=x _(la,l)+Δ cos θ_(r), y=y _(la,l)+Δ sin θ_(r), (x _(la,l), y_(la,l)) is the coordinate of the cell C_(la,l)(i), and p_(lb)(⋅) is themass value of the cell 402 to be lane boundary 404.

The ambiguity of the other lanes to the left adjacent lane for cellswith Δ≤0.5W_(L) is given by Equation (40):

m _(la,l)((−1,2),(x,y))=1−m _(la,l)(−1,(x,y))  (40)

The cell list of the right adjacent lane boundary C_(ra,r) can beshifted to the left with distance Δ=δ, 2δ, . . . , nδ. For cells 402that have a distance Δ to the cell C_(ra,r)(i), the mass value iscalculated by the input processing module 206 using Equation (41):

m _(ra,r)(1,(x,y))=p _(lb)(C _(ra,r)(i))×D((x,y);( x _(ra,r) , y_(ra,r)),σ²)  (41)

where x=x _(ra,r)+Δ cos θ_(l), y=y _(ra,r)+Δ sin θ_(l), (x _(ra,r), y_(ra,r)) is the coordinate of the cell C_(ra,r)(i), and p_(lb)(⋅) is themass value of the cell 402 to be lane boundary 404.

The ambiguity of the other lanes to the right adjacent lane for cellswith Δ≤0.5W_(L) is given by Equation (42):

m _(ra,r)((1,2),(x,y))=1−m _(ra,r)(1,(x,y))  (42)

Because multiple evidence sets (lane markers) can be used to infer thelane assignment number, the input processing module 206 can use theDempster-Shafer fusion rule to fuse the mass values for the static grid400. The input processing module 206 can normalize the mass value foreach cell 402. The input processing module 206 can use Equations 43(a)through 43(g) to determine the mass values for the cells 402:

m _(LA,DG)(0,(x,y))=m _(e,l)(0,(x,y))⊕m _(e,r)(0,(x,y))  (43a)

m _(LA,DG)(1,(x,y))=m _(e,r)(1,(x,y))⊕m _(ra,r)(1,(x,y))  (43b)

m _(LA,DG)(−1,(x,y))=m _(e,l)(−1,(x,y))⊕m _(la,l)(−1,(x,y))  (43c)

m _(LA,DG)(0,1,(x,y))=m _(e,r)(0,1,(x,y))  (43d)

m _(LA,DG)(−1,0,(x,y))=m _(e,l)(−1,0,(x,y))  (43e)

m _(LA,DG)(−1,2,(x,y))=m _(la,l)(−1,2,(x,y))  (43f)

m _(LA,DG)(1,2,(x,y))=m _(ra,r)(1,2,(x,y))  (43g)

The input processing module 206 can assign other cells as “2” with amass value of 1. The above equations assume that C_(e,l), C_(e,r),C_(la,l), C_(ra,r) are available for the roadway 120. If there is noC_(la,l), the input processing module 206 can reduce the FOD to {0, 1,2}. Similarly, if there is no C_(ra,r), the input processing module 206can reduce the FOD to {−1, 0, 2}. If both C_(la,l) and C_(ra,r) are notavailable, the input processing module 206 can reduce the FOD to {0, 2}.The static grid 400 generally does not provide information forlane-marker type, lane-marker color, traffic signs, pavement markings,or lane type.

FIGS. 5A and 5B illustrate example lane sets 500 and 550, respectively,that the input processing module 206 of a grid-based road model withmultiple layers can use to shift input evidence for determining massvalues for other layer hypotheses. For example, the input processingmodule 206 can shift the lane marker around a half-width of the lane toprovide evidence for the lane-center hypothesis. As a result, the inputprocessing module 206 can routinely concentrically shift mass valuesleft or right, depending on the curvature of the lane 122.

FIG. 5A illustrates lateral shifting that can be used by the inputprocessing module 206. The lane set 500 includes lane markers 502, 504,506, 508, 510, and 512, which are separated by a distance 518, δ. Theinput processing module 206 can establish the coordinate system to bethe same as a coordinate system used for the vehicle 102. For example,an x-axis 520 points forward from the vehicle 102 and a y-axis 522points to the left.

The road-perception system 108 can determine whether the curvature ofthe roadway 120 or the lanes 122 is greater than a curvature threshold.If the curvature of the roadway 120 or the lane 122 is relatively smallor less than the curvature threshold, the mass value from an originalpoint 514 (e.g., a cell) can be directly shifted along the y-axis 522 toprovide the mass value or evidence for a shifted point 516. Thecoordinate of the original point 514 is denoted as (x,y). The inputprocessing module 206 can denote the coordinate of the shifted point 516as ({tilde over (x)},{tilde over (y)}). In addition, the step size ofthe shifting is denoted as δ and a total shifting 524 distance isdenoted as Δ (e.g., 2δ as illustrated in FIG. 5A). A dashed-dotted line526 denotes possible shifting directions. Based on the coordinatesystem, the input processing module 206 obtains the coordinate of theshifted point 516 from the original point 514 using Equation (44):

({tilde over (x)},{tilde over (y)})=({tilde over (x)},{tilde over(y)}∓Δ)  (44)

where “+” is used when the shifting direction is left and “−” is usedwhen the shifting direction is right.

The original point 514 and the shifted point 516 have intrinsicuncertainty. To describe the uncertainty, the input processing module206 can use the Gaussian distribution. The uncertainty of a cell withcoordinates (x, y) can be calculated by the input processing module 206using Equation (45):

$\begin{matrix}{{D\left( {{\left( {x,y} \right);\left( {\overset{˜}{x},\overset{˜}{y}} \right)},\sigma^{2}} \right)} = {\frac{1}{\sqrt{\left( {2\pi} \right)}\sigma}\exp\left( {- \frac{\left( {y - \overset{\sim}{y}} \right)^{2}}{\sigma^{2}}} \right)}} & (45)\end{matrix}$

where σ is the standard deviation of y.

FIG. 5B illustrates the concentric shifting that can be used by theinput processing module 206. The lane set 550 includes lane markers 552,554, 556, 558, 560, and 562, which are separated by the distance 518, δ.

If the curvature of the roadway 120 or the lane 122 is relatively large,the mass value from the original point 514 can be shifted along acurvature direction 566 to provide the evidence for other cells. Theinput processing module 206 can use three points to determine the localcurvature and normal direction. In other implementations, the inputprocessing module 206 can use other methods to identify the localcurvature of the lane set 550. Based on the coordinate system, thecoordinate of the shifted point 516 from the original point 514 isobtained using Equation (46)

( x,y )=( x +Δ cos θ,y+Δ sin θ)  (46)

where the angle θ is defined as the angle between the x-axis 520 and theshifting direction. When the shifting direction is right, the angle is180<θ≤360°.

To describe the uncertainty of the shifted point 516, the inputprocessing module 206 can use the Gaussian distribution. The uncertaintyof a cell with coordinates (x, y) can be calculated by the inputprocessing module 206 using Equation (47)

$\begin{matrix}{{D\left( {{\left( {x,y} \right);\left( {\overset{˜}{x},\overset{˜}{y}} \right)},\sigma^{2}} \right)} = {\frac{1}{\sqrt{\left( {2\pi} \right)}\sigma}\exp\left( {- \frac{\Delta^{2}}{\sigma^{2}}} \right)}} & (47)\end{matrix}$

where σ² is the variance of the Gaussian distribution.

When the original point 514 is shifted to provide evidence for othercells, it is possible that there may be multiple original pointsavailable. The input processing module 206 can determine the mass valueof a cell based on evidence from multiple original points using the meanvalue of those points.

FIG. 6 illustrates an example lane set 600 that the input processingmodule 206 of a grid-based road model with multiple layers can use todetermine mass values for lane-number assignments. In particular, theinput processing module 206 can use lane-marker data (e.g., from thegrid 302, the vision data 306, or the lidar data 304) and thevehicle-state data 308 to determine mass values of the lane-assignmentlayer Ω_(LA).

The input processing module 206 can compare the position of the vehicle102 to the vision data 306, which includes lane-marker polylines, toobtain the relevant polylines. For example, the polylines can includethe left ego lane marker 602 (e.g., ϕ_(e,l), ) the polyline of the rightego lane marker 604 (e.g., ϕ_(e,r)), the polyline of the left adjacentlane marker 606 (e.g., ϕ_(la,l)) and the polyline of the right adjacentlane marker 608 (e.g., ϕ_(ra,r)). The input processing module 206 canassume that the polyline of the right adjacent lane marker ϕ_(la,r) isthe same as the polyline of the left ego lane marker 602. The polylineof the right adjacent lane marker ϕ_(ra,l) is assumed to be the same asthe polyline of the right ego lane marker 604. The input processingmodule 206 can also assume that the polylines are a function of y=ϕ(x).

The input processing module 206 can use the ego lane markers as evidenceto assign mass values for different cells. The left ego lane markerpoint x _(e,l), y _(e,l)) can be used to provide evidence for cellsalong the curvature direction to the right. For cells with coordinate(x, y) which have a distance (Δ≤W_(L)) to (x _(e,l), y _(e,l)), theinput processing module 206 can calculate the mass value Equation (48):

m _(e,l)(0,(x,y))=p _(c)(( x _(e,l) ,y _(e,l)))×D((x,y);( x _(e,l) ,y_(e,l)),σ²)  (48)

where x=x _(e,l)=Δ cos θ_(r), y=y _(e,l)+Δ sin θ_(r) and δ is aparameter that can be tuned. For the lane-number assignment, thestandard deviation σ is set to the value of lane width W_(L). Inaddition, the mapping function D((x, y),(xe,l, ye,l)) can be anyfunction with the peak in (x _(e,l), y _(e,l)) and decreases with theincreasing of the distance to (x, y).

The ambiguity of the ego lane to the left-adjacent lane for cells withdistance Δ≤0.5W_(L) to (x _(e,l), y _(e,l)) is given by Equation (49):

m _(e,l)((−1,0),(x,y))=1−m _(e,l)(0,(x,y))  (49)

Similarly, the input processing module 206 can use the left ego lanemarker point (x _(e,l), y _(e,l)) to provide evidence for cells alongthe curvature direction to the left. For cells with coordinate (x, y)which have a distance (Δ≤W_(L)) to (x _(e,l), y _(e,l)) the inputprocessing module 206 can calculate the mass value using Equation (50):

m _(e,l)(−1,(x,y))=p _(c)(( x _(e,l) ,y _(e,l)))×D((x,y);( x _(e,l) ,y_(e,l)),σ²)  (50)

where x=x _(e,l)+Δ cos θ_(l), y=y _(e,l)+Δ sin θ_(l),

The ambiguity of the ego lane to the left adjacent lane for cells withdistance Δ≤0.5W_(L) to (x _(e,l), y _(e,l)) is given by Equation (51):

m _(e,l)((−1,0),(x,y))=1−m _(e,l)(−1,(x,y))  (51)

The input processing module 206 can use the right ego lane marker point(x _(e,r),y _(e,r)) to provide evidence for cells along the curvaturedirection to the left. For cells with coordinate (x, y) which have adistance of (Δ≤W_(L)) to (x _(e,r),y _(e,r)), the input processingmodule 206 can calculate the mass value using Equation (52):

m _(e,r)(0,(x,y))=p _(c)((x _(e,r),y _(e,r)))×D((x,y);(x _(e,r),y_(e,r)),σ²)  (52)

where x=x _(e,r)+Δ cos θ_(l), y=y _(e,r)+Δ sin θ_(l).

The ambiguity of the ego lane to the right adjacent lane for cells withΔ≤0.5W_(L) is given by Equation (53):

m _(e,r)((1,0),(x,y))=1−m _(e,r)(0,(x,y))  (53)

The input processing module 206 can use the right ego lane marker point(x _(e,r), y _(e,r)) to provide evidence for cells along the curvaturedirection to the right. For cells with coordinate (x, y) which have adistance of (Δ≤W_(L)) to (x _(e,r), y _(e,r)), the input processingmodule 206 can calculate the mass value using Equation (54):

m _(e,r)(1,(x,y))=p _(c)(( x _(e,r) ,y _(e,r)))×D((x,y);( x _(e,r) ,y_(e,r)),σ²)  (54)

where x=x _(e,r)+Δ cos θ_(r), y=y _(e,r)+Δ sin θ_(r).

The ambiguity of the ego lane to the right adjacent lane for cells withΔ≤0.5W_(L) is given by Equation (55):

m _(e,r)((1,0),(x,y))=1−m _(e,r)(1,(x,y))  (55)

Similar to the ego lane markers, the input processing module 206 can usethe left adjacent lane marker point (x _(la,l),y _(la,l)) as evidence toassign mass values for the lane assignment −1 and 2. The inputprocessing module 206 can also use the right adjacent lane marker point(x _(ra,r), y _(ra,r)) as evidence to assign mass values for laneassignments 1 and 2.

The input processing module 206 can use the left adjacent lane point (x_(la,l), y _(la,l))to provide evidence for cells along the curvaturedirection to the right. For cells with coordinate (x, y) which have adistance of (Δ≤W_(L)) to (x _(la,l), y _(la,l)), the input processingmodule 206 can calculate the mass value using Equation (56):

m _(la,l)(−1,(x,y))=p _(c)(( x _(la,l) ,y _(la,l)))×D((x,y);( x _(la,l),y _(la,l)),σ²)  (56)

where x=x _(la,l)+Δ cos θ_(r), y=y _(la,l)+Δ sin θ_(r).

The ambiguity of other lanes to the left adjacent lane for cells withΔ≤0.5W_(L) is given by Equation (57):

m _(la,l)((−1,2),(x,y))=1−m _(la,l)(−1,(x,y))  (57)

The input processing module 206 can use the right adjacent lane point (x_(ra,r), y _(ra,r)) to provide evidence for cells along the curvaturedirection to the left. For cells with coordinate (x, y) which have adistance of (Δ≤W_(L)) to (x _(ra,r), y _(ra,r)), the input processingmodule 206 can calculate the mass value using Equation (58):

m _(ra,r)(1,(x,y))=p _(c)(( x _(ra,r) ,y _(ra,r)))×D((x,y);( x _(ra,r),y _(ra,r)),σ²)  (58)

where x=x _(ra,r)+Δ cos θ_(l), y=y _(ra,r)+Δ sin θ_(l).

The ambiguity of the other lanes to the right adjacent lane for cellswith Δ≤0.5W L is given by Equation (59):

m _(ra,r)((1,2),(x,y))=1−m _(ra,r)(1,(x,y))  (59)

Because multiple evidence (lane markers) can be used to infer thelane-assignment number, the evidence fusion module 208 can use theDempster-Shafer fusion rule to combine the mass values for the visiondata 306. The evidence fusion module 208 can normalize the mass valuesbefore combining the mass values. The joint mass values can becalculated using Equations (60a) through (60g):

m _(LA,Vision)(0,(x,y))=m _(e,l)(0,(x,y))⊕m _(e,r)(0,(x,y))  (60a)

m _(LA,Vision)(1,(x,y))=m _(e,r)(1,(x,y))⊕m _(ra,r)(1,(x,y))  (60b)

m _(LA,Vision)(−1,(x,y))=m _(e,l)(−1,(x,y))⊕m _(la,l)(−1,(x,y))  (60c)

m _(LA,Vision)(0,1,(x,y))=m _(e,r)(0,1,(x,y))  (60d)

m _(LA,Vision)(−1,0,(x,y))=m _(e,l)(−1,0,(x,y))  (60e)

m _(LA,Vision)(−1,2,(x,y))=m _(la,l)(−1,2,(x,y))  (60f)

m _(LA,Vision)(1,2,(x,y))=m _(ra,r)(1,2,(x,y))  (60g)

The input processing module can assign cells without any evidence aslane number category 2 with a mass value of 1.

EXAMPLE METHOD

FIG. 7 depicts an example flowchart as an example process performed by aroad-perception system configured to generate a grid-based road modelwith multiple layers. Flowchart 700 is shown as sets of operations (oracts) performed, but not necessarily limited to the order orcombinations in which the operations are shown herein. Further, any ofone or more of the operations may be repeated, combined, or reorganizedto provide other methods. In portions of the following discussion,reference may be made to the road-perception system 108 of FIGS. 1through 6 and entities detailed therein, reference to which is made forexample only. The techniques are not limited to performance by oneentity or multiple entities.

At 702, a grid representation of a roadway is generated by aroad-perception system of a vehicle. The grid representation includesmultiple cells. For example, the road-perception system 108 of thevehicle 102 generates the grid 302 or the static grid 400 of the roadway120. The static grid 400 includes multiple cells 402.

At 704, a road model for the roadway is generated by the road-perceptionsystem. The road model is based on data from multiple informationsources. The road model includes at least two different layers thatrepresent different respective roadway attributes of the multiple cellsin the grid representation of the roadway. For each cell of the multiplecells in each layer of the different layers, the at least two differentlayers include at least one respective layer hypothesis that indicates apotential attribute for that cell. For example, the road-perceptionsystem 108 generates, based on data from multiple information sources,the grid-based road model 322. The multiple information sources caninclude the grid 302, the lidar data 304, the vision data 306, thevehicle-state data 308, and the map 106. The grid-based road model 322includes at least two different FOD layers that represent differentrespective attributes of the roadway 120. The FOD layers can include,for example, the cell-category layer, the lane-number assignment layer,the lane-marker type layer, lane-marker color layer, traffic-sign layer,pavement-marking layer, and the lane-type layer. For each cell 402 ofthe grid 302 in each layer, the FOD layers include at least one layerhypothesis 324. The layer hypotheses 324 indicate a potential attributestate for each cell of the multiple cells.

At 706, respective mass values associated with each of the at least onerespective layer hypothesis are determined. The respective mass valuesindicate confidence associated with the data contributing to the atleast one respective layer hypothesis. For example, the road-perceptionsystem 108 or the input processing module 206 can determine the massvalues associated with the layer hypotheses 324 for each cell in the FODlayers.

At 708, belief parameters and plausibility parameters associated witheach of the at least one layer hypothesis are determined. The beliefparameter and the plausibility parameter are determined using at leastone respective mass values associated with the layer hypothesis. Thebelief parameter indicates a confidence in the potential attribute statefor that cell. The plausibility parameter indicates a likelihood in thepotential attribute state being accurate for that cell. For example, theroad-perception system 108 or the evidence fusion module 208 candetermine, using the mass values associated with the layer hypotheses,the belief parameters and the plausibility parameters associated witheach layer hypothesis 324.

At 710, it is determined whether the belief parameters and theplausibility parameters associated with at least one layer hypothesissatisfy a respective threshold value. For example, the road-perceptionsystem 108 can determine whether the belief parameters and theplausibility parameters associated with the layer hypotheses are greateror less than a respective threshold value.

At 712, responsive to determining that the belief parameters and theplausibility parameters of the at least one layer hypothesis satisfy therespective threshold value, an autonomous-driving system or anassisted-driving system can operate the vehicle on the roadway using theat least one layer hypothesis as an input. For example, responsive todetermining that the belief parameters and the plausibility parametersare greater than the respective threshold value, the vehicle 102 can beoperated by the autonomous-driving system 118 or the assisted-drivingsystem 116. The autonomous-driving system 118 or the assisted-drivingsystem 116 can operate the vehicle 102 on the roadway 120 using the atleast one layer hypothesis as an input. Alternatively, theroad-perception system 108, responsive to determining that at least oneof the belief parameter or the plausibility parameter is less than therespective threshold value, can discontinue an operation of the vehicle102 with the autonomous-driving system 118 or the assisted-drivingsystem 116 and switch the operation of the vehicle 102 to control by adriver.

EXAMPLES

In the following section, examples are provided.

Example 1: A method comprising: generating, by a road-perception systemof a vehicle, a grid representation of a roadway, the gridrepresentation including multiple cells; generating, by theroad-perception system and based on data from multiple informationsources, a road model for the roadway, the road model including at leasttwo different layers that represent different respective roadwayattributes of the multiple cells in the grid representation of theroadway, the at least two different layers including, for each cell ofthe multiple cells in each layer of the different layers, at least onerespective layer hypothesis that indicates a potential attribute statefor that cell; determining, by the road-perception system, respectivemass values associated with each of the at least one respective layerhypothesis, the respective mass values indicating confidence associatedwith the data contributing to the at least one respective layerhypothesis; determining, by the road-perception system and using therespective mass values, belief parameters and plausibility parametersassociated with each of the at least one respective layer hypothesis,the belief parameters indicating a confidence in the potential attributestate for that cell, the plausibility parameters indicating a likelihoodin the potential attribute state being accurate for that cell;determining whether the belief parameters and the plausibilityparameters associated with at least one layer hypothesis satisfy arespective threshold value; and responsive to determining that thebelief parameters and the plausibility parameters associated with atleast one layer hypothesis satisfy the respective threshold value, usingthe at least one layer hypothesis as an input to an autonomous-drivingsystem or an assisted-driving system that operates the vehicle on theroadway.

Example 2: The method of example 1, wherein the multiple informationsources include at least one of a lidar system, a vision system, acamera system, a vehicle-state system, a location sensor, a steeringsensor, a yaw-rate sensor, or a map.

Example 3: The method of example 1, wherein the respective mass valuesare recursively updated based on the data from the multiple informationsources.

Example 4: The method of example 1, wherein determining the respectivemass values associated with each of the at least one respective layerhypothesis comprises fusing multiple mass values that contribute to eachof the at least one respective layer hypothesis using a Dempster-Shaferfusion rule.

Example 5: The method of example 1, wherein the multiple cells of thegrid representation have a non-uniform resolution.

Example 6: The method of example 1, wherein the at least two differentlayers are defined by respective frames of discernment (FODs), therespective FODs identifying respective sets of possible layerhypotheses.

Example 7: The method of example 6, wherein the at least two differentlayers include at least two of a cell-category layer, a lane-numberlayer, a lane-marker-type layer, a lane-marker-color layer, atraffic-sign layer, a pavement-marking layer, or a lane-type layer.

Example 8: The method of example 7, wherein: the cell-category layerincludes at least two of a lane boundary, a lane center, a barrier, oran other value; the lane-number layer includes at least two of aleft-adjacent lane, an ego lane, a right-adjacent lane, or other lanes;the lane-marker-type layer includes at least two of a solid-line lanemarker, a double-line lane marker, a dashed lane marker, a fatlane-marker, or other lane-marker type; the lane-marker-color layerincludes at least two of yellow, white, or other color; and thelane-type layer includes at least two of a through lane, a decelerationlane, an acceleration lane, or other lane type.

Example 9: The method of example 7, the method further comprising:determining whether a curvature of the roadway is greater than acurvature threshold; and responsive to determining that the curvature ofthe roadway is greater than the curvature threshold, shifting a massvalue for an original point along a y-axis normal to the vehicle todetermine a mass value at a shifted point; or responsive to determiningthat the curvature of the roadway is less than the curvature threshold,shifting the mass value for the original point along a curvaturedirection to determine the mass value at the shifted point.

Example 10: The method of example 1, the method further comprising:subsequently determining whether the belief parameters and theplausibility parameters associated with at least one layer hypothesissatisfy the respective threshold value; and responsive to subsequentlydetermining that the belief parameters or the plausibility parametersassociated with the at least one layer hypothesis do not satisfy therespective threshold value, discontinuing another operation of thevehicle with the autonomous-driving system or the assisted-drivingsystem.

Example 11: The method of example 1, the method further comprising:subsequently determining whether the belief parameters and theplausibility parameters associated with at least one layer hypothesissatisfy the respective threshold value; and responsive to subsequentlydetermining that the belief parameters or the plausibility parametersassociated with the at least one layer hypothesis do not satisfy therespective threshold value, switching another operation of the vehicleto be controlled by a driver.

Example 12: The method of example 1, wherein the autonomous-drivingsystem or the assisted-driving system comprises at least one of anautomatic cruise control system, a traffic jam assist system, alane-centering assist system, or an L3/L4 autonomous driving on highwayssystem.

Example 13: A computer-readable storage media comprisingcomputer-executable instructions that, when executed, cause a processorin a vehicle to: generate a grid representation of a roadway, the gridrepresentation including multiple cells; generate, based on data frommultiple information sources, a road model for the roadway, the roadmodel including at least two different layers that represent differentrespective roadway attributes of the multiple cells in the gridrepresentation of the roadway, the at least two different layersincluding, for each cell of the multiple cells in each layer of thedifferent layers, at least one respective layer hypothesis thatindicates a potential attribute state for that cell; determinerespective mass values associated with each of the at least onerespective layer hypothesis, the respective mass values indicatingconfidence associated with the data contributing to the at least onerespective layer hypothesis; determine, using the respective massvalues, belief parameters and plausibility parameters associated witheach of the at least one respective layer hypothesis, the beliefparameters indicating a confidence in the potential attribute state forthat cell, the plausibility parameters indicating a likelihood in thepotential attribute state being accurate for that cell; determinewhether the belief parameters and the plausibility parameters associatedwith at least one layer hypothesis satisfy a respective threshold value;and responsive to a determination that the belief parameters and theplausibility parameters associated with at least one layer hypothesissatisfy the respective threshold value, use the at least one layerhypothesis as an input to an autonomous-driving system or anassisted-driving system that operates the vehicle on the roadway.

Example 14: The computer-readable storage media of example 13, whereinthe at least two different layers include at least two of acell-category layer, a lane-number layer, a lane-marker-type layer, alane-marker-color layer, a traffic-sign layer, a pavement-marking layer,or a lane-type layer.

Example 15: The computer-readable storage media of example 14, wherein:the cell-category layer includes at least two of a lane boundary, a lanecenter, a barrier, or another value; the lane-number layer includes atleast two of a left-adjacent lane, an ego lane, a right-adjacent lane,or other lanes; the lane-marker-type layer includes at least two of asolid-line lane marker, a double-line lane marker, a dashed lane marker,a fat lane-marker, or other lane-marker type; the lane-marker-colorlayer includes at least two of yellow, white, or other color; and thelane-type layer includes at least two of a through lane, a decelerationlane, an acceleration lane, or other lane type.

Example 16: The computer-readable storage media of example 14, thecomputer-readable storage media comprising additionalcomputer-executable instructions that, when executed, cause theprocessor in a vehicle to: determine whether a curvature of the roadwayis greater than a curvature threshold; and responsive to a determinationthat the curvature of the roadway is greater than the curvaturethreshold, shift a mass value for an original point along a y-axisnormal to the vehicle to determine a mass value at a shifted point; orresponsive to a determination that the curvature of the roadway is lessthan the curvature threshold, shift the mass value for the originalpoint along a curvature direction to determine the mass value at theshifted point.

Example 17: The computer-readable storage media of example 13, whereinthe at least two different layers are defined by respective frames ofdiscernment (FODs), the respective FODs identifying respective sets ofpossible layer hypotheses.

Example 18: The computer-readable storage media of example 13, whereinthe multiple information sources include at least one of a lidar system,a vision system, a camera system, a vehicle-state system, a locationsensor, a steering sensor, a yaw-rate sensor, or a map.

Example 19: The computer-readable storage media of example 13, whereinthe respective mass values are recursively updated based on the datafrom the multiple information sources.

Example 20: The computer-readable storage media of example 13, wherein adetermination of the respective mass values associated with each of theat least one respective layer hypothesis comprises fusing multiple massvalues that contribute to each of the at least one respective layerhypothesis using a Dempster-Shafer fusion rule.

CONCLUSION

While various embodiments of the disclosure are described in theforegoing description and shown in the drawings, it is to be understoodthat this disclosure is not limited thereto but may be variouslyembodied to practice within the scope of the following claims. From theforegoing description, it will be apparent that various changes may bemade without departing from the spirit and scope of the disclosure asdefined by the following claims.

What is claimed is:
 1. A method comprising: generating a gridrepresentation of a roadway on which a vehicle is traveling withmultiple cells; generating, based on data from one or more informationsources, a road model for the roadway that includes one or more layersrepresenting different respective roadway attributes of the multiplecells, the one or more layers including, for each cell of the multiplecells in each layer, at least one respective layer hypothesis thatindicates a potential attribute state for that cell; determining, foreach cell in each layer, respective mass values associated with eachhypothesis of the at least one respective layer hypothesis; determining,using the respective mass values, belief parameters or plausibilityparameters associated with each of the at least one respective layerhypothesis for each cell in each layer; determining whether the beliefparameters or the plausibility parameters associated with eachhypothesis of the at least one layer hypothesis is greater than athreshold value; and responsive to determining that the beliefparameters or the plausibility parameters associated with eachhypothesis of the at least one layer hypothesis is greater than thethreshold value, using the at least one layer hypothesis as an input toan autonomous-driving system or an assisted-driving system that operatesthe vehicle on the roadway.
 2. The method of claim 1, wherein therespective mass values are updated by comparing previous respective massvalues from one or more previous time instants with current respectivemass values data from a current time instant.
 3. The method of claim 2,wherein a frame rate between time instants for a respective informationsource of the one or more information sources is adjusted based on aspeed of the vehicle.
 4. The method of claim 2, wherein previousrespective mass values are updated with the current respective massvalues using a decay function.
 5. The method of claim 1, whereinrespective belief parameters or plausibility parameters associated witha respective layer hypothesis of the at least one respective layerhypothesis for two or more cells in each layer have different values. 6.The method of claim 1, wherein the method further comprises: grouping,based on Dempster-Shafer Theory, the at least one respective layerhypothesis for each layer into a roadway hypothesis.
 7. The method ofclaim 1, wherein the grid representation of the roadway is a staticoccupancy grid.
 8. The method of claim 1, wherein the gridrepresentation of the roadway is a dynamic occupancy grid and each cellof the grid representation indicates a velocity of the vehicle.
 9. Themethod of claim 1, wherein determining the respective mass valuesassociated with each hypothesis comprises: for two layer hypotheseshaving largest probabilities for a respective information source of theone or more information sources, setting, for the respective informationsource, the respective mass values for the two layer hypotheses equal totheir respective probabilities; and for other layer hypotheses of the atleast one respective layer hypothesis, setting, for the respectiveinformation source, the respective mass values for the other layerhypotheses equal to zero.
 10. The method of claim 1, wherein the methodfurther comprises: determining, for each cell in each layer, respectiveprobabilities associated with each hypothesis by computing a pignistictransformation of the respective mass values.
 11. A computer-readablestorage media comprising computer-executable instructions that, whenexecuted, cause a processor in a vehicle to: generate a gridrepresentation of a roadway with multiple cells; generate, based on datafrom one or more information sources, a road model for the roadway thatincludes one or more layers representing different respective roadwayattributes of the multiple cells, the one or more layers including, foreach cell of the multiple cells in each layer, at least one respectivelayer hypothesis that indicates a potential attribute state for thatcell; determine, for each cell in each layer, respective mass valuesassociated with each hypothesis of the at least one respective layerhypothesis; determine, using the respective mass values, beliefparameters or plausibility parameters associated with each of the atleast one respective layer hypothesis for each cell in each layer;determine whether the belief parameters or the plausibility parametersassociated with each hypothesis of the at least one layer hypothesis isgreater than a threshold value; and responsive to a determination thatthe belief parameters or the plausibility parameters associated witheach hypothesis of the at least one layer hypothesis is greater than thethreshold value, using the at least one layer hypothesis as an input toan autonomous-driving system or an assisted-driving system that operatesthe vehicle on the roadway.
 12. The computer-readable storage media ofclaim 11, wherein the computer-readable storage media comprisingadditional computer-executable instructions that, when executed, causethe processor to update the respective mass values by comparing previousrespective mass values from one or more previous time instants withcurrent respective mass values data from a current time instant.
 13. Thecomputer-readable storage media of claim 12, wherein thecomputer-readable storage media comprising additionalcomputer-executable instructions that, when executed, cause theprocessor to adjust a frame rate between time instants for a respectiveinformation source of the one or more information sources based on aspeed of the vehicle.
 14. The computer-readable storage media of claim12, wherein the computer-readable storage media comprising additionalcomputer-executable instructions that, when executed, cause theprocessor to update previous respective mass values with the currentrespective mass values using a decay function.
 15. The computer-readablestorage media of claim 11, wherein respective belief parameters orplausibility parameters associated with a respective layer hypothesis ofthe at least one respective layer hypothesis for two or more cells ineach layer have different values.
 16. The computer-readable storagemedia of claim 11, wherein the computer-readable storage mediacomprising additional computer-executable instructions that, whenexecuted, cause the processor to: group, based on Dempster-ShaferTheory, the at least one respective layer hypothesis for each layer intoa roadway hypothesis.
 17. The computer-readable storage media of claim11, wherein the grid representation of the roadway is a static occupancygrid.
 18. The computer-readable storage media of claim 11, wherein thegrid representation of the roadway is a dynamic occupancy grid and eachcell of the grid representation indicates a velocity of the vehicle. 19.The computer-readable storage media of claim 11, wherein thecomputer-readable storage media comprising additionalcomputer-executable instructions that, when executed, cause theprocessor to determine the respective mass values associated with eachhypothesis by: for two layer hypotheses having largest probabilities fora respective information source of the one or more information sources,set, for the respective information source, the respective mass valuesfor the two layer hypotheses equal to their respective probabilities;and for other layer hypotheses of the at least one respective layerhypothesis, set, for the respective information source, the respectivemass values for the other layer hypotheses equal to zero.
 20. Thecomputer-readable storage media of claim 11, wherein thecomputer-readable storage media comprising additionalcomputer-executable instructions that, when executed, cause theprocessor to: determine, for each cell in each layer, respectiveprobabilities associated with each hypothesis by computing a pignistictransformation of the respective mass values.